<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<link rel="STYLESHEET" href="lib.css" type='text/css' />
<link rel="SHORTCUT ICON" href="../icons/pyfav.png" type="image/png" />
<link rel='start' href='../index.html' title='Python documentation Index' />
<link rel="first" href="lib.html" title='Python library Reference' />
<link rel='contents' href='contents.html' title="Contents" />
<link rel='index' href='genindex.html' title='Index' />
<link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...' />
<link rel="prev" href="idle.html" />
<link rel="parent" href="tkinter.html" />
<link rel="next" href="i18n.html" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name='aesop' content='information' />
<title>20.6 Other Graphical User Interface Packages </title>
</head>
<body>
<div class="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="20.5.3.1 command line usage"
  href="node727.html"><img src='../icons/previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></a></td>
<td class='online-navigation'><a rel="parent" title="20. graphical User Interfaces"
  href="tkinter.html"><img src='../icons/up.png'
  border='0' height='32'  alt='Up one Level' width='32' /></a></td>
<td class='online-navigation'><a rel="next" title="21. Internationalization"
  href="i18n.html"><img src='../icons/next.png'
  border='0' height='32'  alt='Next Page' width='32' /></a></td>
<td align="center" width="100%">Python Library Reference</td>
<td class='online-navigation'><a rel="contents" title="Table of Contents"
  href="contents.html"><img src='../icons/contents.png'
  border='0' height='32'  alt='Contents' width='32' /></a></td>
<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
  border='0' height='32'  alt='Module Index' width='32' /></a></td>
<td class='online-navigation'><a rel="index" title="Index"
  href="genindex.html"><img src='../icons/index.png'
  border='0' height='32'  alt='Index' width='32' /></a></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="node727.html">20.5.3.1 Command line usage</a>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="tkinter.html">20. Graphical User Interfaces</a>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="i18n.html">21. Internationalization</a>
</div>
<hr /></div>
</div>
<!--End of Navigation Panel-->

<h1><a name="SECTION0022600000000000000000"></a><a name="other-gui-packages"></a>
<br>
20.6 Other Graphical User Interface Packages
         
</h1>

<p>
There are an number of extension widget sets to <tt class="module"><a href="module-Tkinter.html">Tkinter</a></tt>.

<p>
<div class="seealso-simple">
  
<dl compact="compact" class="seetitle">
    <dt><em class="citetitle"><a href="http://pmw.sourceforge.net/"
        >Python megawidgets</a></em></dt>
    <dd>is a
toolkit for building high-level compound widgets in Python using the
<tt class="module"><a href="module-Tkinter.html">Tkinter</a></tt> module.  It consists of a set of base classes and
a library of flexible and extensible megawidgets built on this
foundation. These megawidgets include notebooks, comboboxes, selection
widgets, paned widgets, scrolled widgets, dialog windows, etc.  Also,
with the Pmw.Blt interface to BLT, the busy, graph, stripchart, tabset
and vector commands are be available.

<p>
The initial ideas for Pmw were taken from the Tk <code>itcl</code>
extensions <code>[incr Tk]</code> by Michael McLennan and <code>[incr
Widgets]</code> by Mark Ulferts. Several of the megawidgets are direct
translations from the itcl to Python. It offers most of the range of
widgets that <code>[incr Widgets]</code> does, and is almost as complete as
Tix, lacking however Tix's fast <tt class="class">HList</tt> widget for drawing trees.
</dd>
  </dl>

<p>
<dl compact="compact" class="seetitle">
    <dt><em class="citetitle"><a href="http://tkinter.effbot.org/"
        >Tkinter3000 Widget Construction
          Kit (WCK)</a></em></dt>
    <dd>is a library that allows you to write new Tkinter widgets in pure
Python.  The WCK framework gives you full control over widget
creation, configuration, screen appearance, and event handling.  WCK
widgets can be very fast and light-weight, since they can operate
directly on Python data structures, without having to transfer data
through the Tk/Tcl layer.</dd>
  </dl>
</div>

<p>
Other GUI packages are also available for Python:

<p>
<div class="seealso-simple">
  
<dl compact="compact" class="seetitle">
    <dt><em class="citetitle"><a href="http://www.wxpython.org"
        >wxPython</a></em></dt>
    <dd>
wxPython is a cross-platform GUI toolkit for Python that is built
around the popular <a class="ulink" href="http://www.wxwidgets.org/"
  >wxWidgets</a> C++
toolkit.  It provides a native look and feel for applications on
Windows, Mac OS X, and <span class="Unix">Unix</span> systems by using each platform's native
widgets where ever possible, (GTK+ on <span class="Unix">Unix</span>-like systems).  In
addition to an extensive set of widgets, wxPython provides classes for
online documentation and context sensitive help, printing, HTML
viewing, low-level device context drawing, drag and drop, system
clipboard access, an XML-based resource format and more, including an
ever growing library of user-contributed modules.  Both the wxWidgets
and wxPython projects are under active development and continuous
improvement, and have active and helpful user and developer
communities.
</dd>
  </dl>
<dl compact="compact" class="seetitle">
    <dt><em class="citetitle"><a href="http://www.amazon.com/exec/obidos/ASIN/1932394621"
        >wxPython in Action</a></em></dt>
    <dd>
The wxPython book, by Noel Rappin and Robin Dunn.
</dd>
  </dl>
<dl compact="compact" class="seetitle">
    <dt><em class="citetitle"
        >PyQt</em></dt>
    <dd>
PyQt is a <b class="program">sip</b>-wrapped binding to the Qt toolkit.  Qt is an
extensive C++ GUI toolkit that is available for <span class="Unix">Unix</span>, Windows and
Mac OS X.  <b class="program">sip</b> is a tool for generating bindings for C++
libraries as Python classes, and is specifically designed for Python.
An online manual is available at
<a class="url" href="http://www.opendocspublishing.com/pyqt/">http://www.opendocspublishing.com/pyqt/</a> (errata are located at
<a class="url" href="http://www.valdyas.org/python/book.html">http://www.valdyas.org/python/book.html</a>). 
</dd>
  </dl>
<dl compact="compact" class="seetitle">
    <dt><em class="citetitle"><a href="http://www.riverbankcomputing.co.uk/pykde/index.php"
        >PyKDE</a></em></dt>
    <dd>
PyKDE is a <b class="program">sip</b>-wrapped interface to the KDE desktop
libraries.  KDE is a desktop environment for <span class="Unix">Unix</span> computers; the
graphical components are based on Qt.
</dd>
  </dl>
<dl compact="compact" class="seetitle">
    <dt><em class="citetitle"><a href="http://fxpy.sourceforge.net/"
        >FXPy</a></em></dt>
    <dd>
is a Python extension module which provides an interface to the 
<em class="citetitle"><a
 href="http://www.cfdrc.com/FOX/fox.html"
 title="FOX"
 >FOX</a></em> GUI.
FOX is a C++ based Toolkit for developing Graphical User Interfaces
easily and effectively. It offers a wide, and growing, collection of
Controls, and provides state of the art facilities such as drag and
drop, selection, as well as OpenGL widgets for 3D graphical
manipulation.  FOX also implements icons, images, and user-convenience
features such as status line help, and tooltips.  

<p>
Even though FOX offers a large collection of controls already, FOX
leverages C++ to allow programmers to easily build additional Controls
and GUI elements, simply by taking existing controls, and creating a
derived class which simply adds or redefines the desired behavior.
</dd>
  </dl>
<dl compact="compact" class="seetitle">
    <dt><em class="citetitle"><a href="http://www.daa.com.au/~james/software/pygtk/"
        >PyGTK</a></em></dt>
    <dd>
is a set of bindings for the <a class="ulink" href="http://www.gtk.org/"
  >GTK</a> widget set.
It provides an object oriented interface that is slightly higher
level than the C one. It automatically does all the type casting and
reference counting that you would have to do normally with the C
API. There are also
<a class="ulink" href="http://www.daa.com.au/~james/gnome/"
  >bindings</a>
to  <a class="ulink" href="http://www.gnome.org"
  >GNOME</a>, and a 
<a class="ulink" href="http://laguna.fmedic.unam.mx/~daniel/pygtutorial/pygtutorial/index.html"
  >tutorial</a>
is available.
</dd>
  </dl>
</div>

<p>

<div class="navigation">
<div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="20.5.3.1 command line usage"
  href="node727.html"><img src='../icons/previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></a></td>
<td class='online-navigation'><a rel="parent" title="20. graphical User Interfaces"
  href="tkinter.html"><img src='../icons/up.png'
  border='0' height='32'  alt='Up one Level' width='32' /></a></td>
<td class='online-navigation'><a rel="next" title="21. Internationalization"
  href="i18n.html"><img src='../icons/next.png'
  border='0' height='32'  alt='Next Page' width='32' /></a></td>
<td align="center" width="100%">Python Library Reference</td>
<td class='online-navigation'><a rel="contents" title="Table of Contents"
  href="contents.html"><img src='../icons/contents.png'
  border='0' height='32'  alt='Contents' width='32' /></a></td>
<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
  border='0' height='32'  alt='Module Index' width='32' /></a></td>
<td class='online-navigation'><a rel="index" title="Index"
  href="genindex.html"><img src='../icons/index.png'
  border='0' height='32'  alt='Index' width='32' /></a></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="node727.html">20.5.3.1 Command line usage</a>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="tkinter.html">20. Graphical User Interfaces</a>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="i18n.html">21. Internationalization</a>
</div>
</div>
<hr />
<span class="release-info">Release 2.5.1, documentation updated on 18th April, 2007.</span>
</div>
<!--End of Navigation Panel-->
<address>
See <i><a href="about.html">About this document...</a></i> for information on suggesting changes.
</address>
</body>
</html>
